home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Graphics / Misc / Wood.0.72 / Sources / StyleInspector.m < prev    next >
Encoding:
Text File  |  1995-09-11  |  2.1 KB  |  112 lines

  1. #import <misckit/MiscSliderField.h>
  2.  
  3. #import "StyleInspector.h"
  4. #import "Tree.h"
  5.  
  6. @implementation StyleInspector
  7.  
  8. - init
  9. {  
  10.        [super init];
  11.     view = nil;    
  12.     return self;
  13. }
  14.    
  15. - (BOOL)wantsButtons 
  16.     return NO; 
  17. }
  18.  
  19. - (BOOL)doesHandleSelection
  20. {
  21.     char buf[MAXPATHLEN + 1];
  22.     id bundle;
  23.     
  24.     if([self selectionCount] == 1 && [[self selection] isMemberOf:[Tree class]]){
  25.         if(!view){
  26.              bundle = [NXBundle mainBundle];
  27.             [bundle getPath:buf forResource:"StyleInspector" ofType:"nib"];
  28.                [NXApp loadNibFile:buf owner:self withNames:NO fromZone:[self zone]];
  29.         }
  30.         return YES;
  31.     }
  32.     return NO;
  33. }
  34.  
  35. - ok:sender
  36. {
  37.     [(NXColorWell *)fillColor deactivate];
  38.     [(NXColorWell *)textColor deactivate];
  39.     [(NXColorWell *)outlineColor deactivate]; 
  40.     return [super ok:sender];
  41. }
  42.  
  43. - revert:sender
  44. {
  45.     id tree;
  46.     
  47.     [super revert:sender];
  48.     tree = [self selection];
  49.     [form selectCellAt:[tree pathKind] :0];
  50.     [outline setState:[tree outline]];
  51.     [fillColor setColor:[tree fillColor]];
  52.     [textColor setColor:[tree textColor]];
  53.     [outlineColor setColor:[tree outlineColor]];
  54.     [outlinewidth setFloatValue:[tree linewidth]];
  55.     [nodeEnding selectCellAt:[tree ending] :0];
  56.     [parentEnding selectCellAt:[tree parentEnding] :0];
  57.     [nodeEnding scrollCellToVisible:[tree ending] :0];
  58.     [parentEnding scrollCellToVisible:[tree parentEnding] :0];
  59.     return self;
  60. }
  61.  
  62. - changeParentEnding:sender
  63. {
  64.     [[self selection] setParentEnding:[[sender selectedCell] tag]];
  65.     return self;
  66. }
  67.  
  68. - changeNodeEnding:sender
  69. {
  70.     [[self selection] setEnding:[[sender selectedCell] tag]];
  71.     return self;
  72. }
  73.  
  74. - changeForm:sender
  75. {
  76.     [[self selection] setPathKind:[[sender selectedCell] tag]];
  77.     return self;
  78. }
  79.  
  80. - changeOutline:sender
  81. {
  82.     [[self selection] setOutline:[sender state]];
  83.     return self;
  84. }
  85.  
  86. - changeFillColor:sender
  87. {
  88.     [[self selection] setFillColor:[sender color]];
  89.     return self;
  90. }
  91.  
  92. - changeTextColor:sender
  93. {
  94.     [[self selection] setTextColor:[sender color]];
  95.     return self;
  96. }
  97.  
  98. - changeOutlineColor:sender
  99. {
  100.     [[self selection] setOutlineColor:[sender color]];
  101.     return self;
  102. }
  103.  
  104. - changeOutlinewidth:sender
  105. {
  106.     [[self selection] setLinewidth:[sender floatValue]];
  107.     return self;
  108. }
  109.   
  110. @end
  111.